"""
装饰器
    在不修改原代码的同时，增强函数或者类的行为，
    接收一个函数作为参数，返回内部函数
    缺点：语法复杂

语法定义：、
    def 函数装饰器名称(func)
        def wrapper(参数 *args,**kwargs):
            需要添加的新功能
            res = func(*args，**kwargs)
            return res
        return wrapper

    @函数装饰器名称
    def 原函数(参数):
        函数体

调用
    原函数()

"""

# 需求：现在要将旧的功能进行功能增强
# def func1():
#     print("旧功能")
#
# def new_func(func):
#     def wrapper():
#         print("数据验证~~~")
#         func()
#     return wrapper

# func1 = new_func(func1)
# func1()

print("=======================================")

# 装饰器函数
def new_func(func):
    def wrapper():
        print("数据验证~~~")
        func()
    return wrapper


# 原函数
@new_func
def func1():
    print("旧功能")

func1()
